package com.hghivln.blog.service;

import com.hghivln.blog.common.lang.Result;
import com.hghivln.blog.entity.Blog;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hghivln.blog.pojo.dto.BlogDto;
import com.hghivln.blog.pojo.vo.BlogVo;

import java.util.List;

/**
 * <p>
 * 博客表 服务类
 * </p>
 *
 * @author hghivln
 * @since 2021-09-11
 */
public interface BlogService extends IService<Blog> {

    void deleteById(Long id);

    Result<?> loadAllLog(BlogDto blogDto);

    void saveBlog(BlogDto blogDto);

    void updateBlog(BlogDto blogDto);

    /**
     * 查询详情
     * @param id 博客id
     */
    BlogVo getInfo(Long id);

    /**
     * 查询回显的数据
     * @param id 博客id
     */
    Blog getUpdate(Long id);

    /**
     * 根据分类名称 查询博客
     */
    Result<?> getBlogByType(BlogDto blogDto);

    /**
     * 获取时间轴
     * @param index 当前博客数量
     */
    List<Blog> getTimeLine(Integer index);

    Result<?> getMeta(Long blogId);
}
